package l2

import (
	"reflect"

	"zstackgo/pkg/header/core"
	"zstackgo/spring"
)

func init() {
	spring.RegisterInterface("header.network.l2.L2NetworkFactory", reflect.TypeOf((*L2NetworkFactory)(nil)).Elem())
}

type L2NetworkFactory interface {
	GetType() *L2NetworkType
	CreateL2Network(vo *L2NetworkVO, msg *APICreateL2VlanNetworkMsg, completion core.ReturnValueCompletion[any])
	GetL2Network(vo *L2NetworkVO) L2Network
}
